package com.zzyl.controller;

import com.zzyl.base.PageResponse;
import com.zzyl.base.ResponseResult;
import com.zzyl.dto.AlertDataHandleDto;
import com.zzyl.dto.AlertDataPageQueryDto;
import com.zzyl.service.AlertDataService;
import com.zzyl.vo.AlertDataVo;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;

/**
 * @Description AlertDataController
 * @Author shejunlian
 * @Date 2024-07-27
 */

@RestController
@RequestMapping("/alert-data")
@Api(tags = "管理端 - 报警数据相关接口")
public class AlertDataController {

    @Autowired
    private AlertDataService alertDataService;


    /**
     * 分页查询报警数据
     * @param alertDataPageQueryDto
     * @return
     */
    @GetMapping("/pageQuery")
    @ApiOperation(value = "分页查询报警数据")
    public ResponseResult<PageResponse<AlertDataVo>> pageQuery(AlertDataPageQueryDto alertDataPageQueryDto) {
        PageResponse<AlertDataVo> voPageResponse = alertDataService.pageQuery(alertDataPageQueryDto);
        return ResponseResult.success(voPageResponse);

    }

    /**
     * 设备处理报警数据
     * @param id
     * @param alertDataHandleDto
     * @return
     */
    @PutMapping("/handleAlertData/{id}")
    @ApiOperation(value = "处理设备报警数据")
    public ResponseResult handleAlertData(
            @ApiParam(value = "报警数据Id", required = true)
            @PathVariable Long id,
            @RequestBody AlertDataHandleDto alertDataHandleDto) {

        alertDataService.handleAlertData(id, alertDataHandleDto);
        return ResponseResult.success();

    }

}
